<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <title>科室管理</title>
        <meta http-equiv="Access-Control-Allow-Origin" content="*">
        <link rel="stylesheet" href="/layui/css/layui.css">
    </head>
<body>
    <!-- 搜索栏 -->
    <div class="searchBar">
        名称：
        <div class="layui-inline">
          <input class="layui-input" name="name" id="name" autocomplete="off" />
        </div>
      <button class="layui-btn" id="searchBtn" data-Type="reload">搜索</button>
    </div>
<!--表格-->
    <table id="department" lay-filter="department"></table>
    <!--工具栏-->
    <div id="toolbar" style="display: none">
        <div class="layui-btn-group">
          <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
        </div>
    </div>
    <!--操作栏信息-->
    <script type="text/html" id="operatebar">
      <a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>
      <a class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delete">删除</a>
    </script>
    <!--模态框-->
    <div id="modal" style="display: none;">
        <form class="layui-form" lay-filter="entity">
        <input type="text" name="id" style="display: none;" />
        <div class="layui-form-item">
            <label class="layui-form-label">科室名称</label>
            <div class="layui-input-inline">
                <input type="text" name="name" required="" lay-verify="required" placeholder="请输入科室名称" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">科室位置</label>
            <div class="layui-input-inline">
                <input type="text" name="address" required="" lay-verify="required" placeholder="请输入科室位置" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">课时归属</label>
            <div class="layui-input-inline">
                <select name="type" lay-verify="">
                  <option value="">请选择</option>
                  <option value="10">内科</option>
                  <option value="11">外科</option>
                  <option value="12">急诊</option>
                  <option value="13">其他</option>
                </select>
          </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit="" lay-filter="addandupdate">立即提交</button>
                <button type="reset" class="layui-btn layui-btn-primary form-reset">重置</button>
            </div>
        </div>
      </form>
    </div>
    <script src="/layui/layui.js"></script>
    <script>
        layui.use(['table','layer','jquery','form'], function(){
            var table = layui.table;
            var layer = layui.layer;
            var $ = layui.jquery;
            var form = layui.form;
            table.render({
                elem: '#department'
                ,id : 'testReload'
                ,height: 524
                ,url: '/api/department/page' //数据接口
                ,page: true //开启分页
                ,cols: [[ //表头
                    {field: 'id', title: 'ID', sort: true, fixed: 'left'}
                    ,{field: 'name', title: '名称'}
                    ,{field: 'address', title: '位置'}
                    ,{field: 'type', title: '归属', templet: function (d) {
                        var typeStr;
                        if (d.type == 10) {
                          typeStr = '内科';
                        } else if (d.type == 11) {
                          typeStr = '外科';
                        } else if (d.type == 12) {
                          typeStr = '急诊';
                        } else {
                          typeStr = '其他';
                        }
                        return typeStr;
                      }}
                    ,{field: 'createDatetime'
                      ,title: '创建时间'
                      ,sort: true
                      ,templet: "<div>{{layui.util.toDateString(d.createDatetime,'yyyy-MM-dd HH:mm:ss')}}</div>"}
                      ,{title: '操作', toolbar : '#operatebar', align:'center'}
        ]]
        , toolbar : '#toolbar'
                  , response : {
            statusCode : 1
          }
        , parseData : function (res) {
            if (res.status == 1) {
              return {
                "code":res.status,
                "msg": res.message,
                "count": res.total,
                "data": res.data
              }
            }
              }
            });
            // 监控表格的工作栏
            table.on("toolbar(department)", function (obj) {
            switch (obj.event) {
                case 'add':
                  open2("新增部门",null);
                  break;
            }
           });
            // 监控表格操作栏
            table.on("tool(department)", function (obj) {
            var data = obj.data;
            switch (obj.event) {
                case 'delete':
                    layer.confirm("确定要删除该数据吗？", function (index) {
                      // 执行删除操作
                        $.ajax({
                            url:'/api/department/'+ data.id,
                            type:'delete',
                            dataType: 'json',
                            success: function (res) {
                                if(res.status == 1) {
                                  layer.msg(res.message);
                                  //active.reload();
                                  obj.del();
                                } else {
                                  layer.msg(res.message);
                                }
                            }
                        });
                      // 对话框关闭掉
                      layer.close(index);
                    });
                    break;
                case 'edit':
                    open2("修改科室", data);
                    break;
            }
            });
                function open2(title, entity){
                // 向表单中赋值
                form.val('entity', entity);
                layer.open({
                    type : 1
                    ,title : title
                    ,content : $('#modal')
                    ,offset: '10px'
                    ,area: ['500px', '80%']
                    ,end : function () {
                      $('.form-reset').click();
                      //table.reload('testReload')
                      active.reload();
                    }
                });
           }
            // 当用户输入完信息后，点击了提交按钮，执行以下操作
            form.on("submit(addandupdate)", function () {
            // 从表单中取值
            var data = form.val("entity");
            var type = data.id ? "put" : "post";
            console.log(data);
            $.ajax({
                url:'/api/department',
                type: type,
                dataType:'json',
                contentType:'application/json',
                data: JSON.stringify(data),
                success: function (res) {
                    if (res.status == 1) {
                        layer.msg(res.message,{time:1*1000}, function() {
                          layer.closeAll();
                        });
                    } else {
                      layer.msg(res.message);
                    }
                }
            });
            return false;
            });
            var active= {
                reload : function(){
                    var name = $('#name');
                    // 重新加载表
                    table.reload('testReload', {
                        page:{
                          curr : 1
                        }
                        ,where : {
                          "name" : name.val()
                        }
                    })
            }
            };
              $('.searchBar .layui-btn').on('click', function () {
              var type = $(this).data('type');
              active[type] ? active[type].call(this) : '';
            });
        });
    </script>
</body>
</html>